Obermarcks algorithm